import jwt
import datetime
from django.conf import settings

key = settings.SECRET_KEY


class JwtTool:
    # 生成token 需要用户的数据  {id:1,username:''}
    def gettoken(self, user):
        # encode() 可以生成token 有两个必要参数  paylaod 是一个字典的形式  必须包含过期时间或者生效时间等  key是加密的秘钥  是什么无所谓 别人不能知道
        user["exp"] = datetime.datetime.utcnow() + datetime.timedelta(hours=2)
        token = jwt.encode(user, key, algorithm='HS256')
        return "Bearer " + token  # 在返回的时候  一般会给前端 带上"Bearer "前缀

    # 解析token
    def parseToken(self, token):
        token = token.replace("Bearer ", "")
        # token=token.split(" ")[1]
        user = jwt.decode(token, key, algorithms=['HS256'])
        return user


meansjwt = JwtTool()
